package com.example.codegenerator.domain;

import com.example.codegenerator.common.model.dto.GeneratorDTO;

import javax.servlet.http.HttpServletResponse;
import java.util.Map;

/**
 * 代码生成 领域层
 *
 * @author lvshengyu
 * @date 2023/8/17
 */
public interface GeneratorDomainApplication {
    /**
     * 获取填充构建信息
     *
     * @param tableName 表名称
     * @return
     */
    Map<String, Object> getFillDataMap(String tableName);

    /**
     * 代码生成（项目路径方式）
     *
     * @param generatorDTO 代码生成数据传递对象
     * @return
     */
    Boolean generator(GeneratorDTO generatorDTO);

    /**
     * 代码生成（云端下载方式）
     *
     * @param generatorDTO        代码生成数据传递对象
     * @param httpServletResponse http响应对象
     * @return
     */
    Boolean generatorCodeDownload(GeneratorDTO generatorDTO, HttpServletResponse httpServletResponse);
}
